Skip to main content

Analyzing Polarsteps Data of a Six Month Southeast Asia Trip

·4 mins

During my six month trip through Southeast Asia, my girlfriend and I tracked our trip using Polarsteps. The app tracks your location and shows your latest location in a dashboard, which you can share with your family and friends. Besides tracking the location, you can upload ‘steps’, which include pictures/video’s and a description about the location. After we returned, I wanted to create a backup, so I exported the data. Discovering that this export also contained all of the collected coordinates during our trip sparked my curiosity, and led me to analyze the data.

Data export #

The export process for Polarsteps was quite easy, and the data is provided in the JSON format. The export data contains a file with the data of the user (user.json) and a folder per trip. Each trip has a file with all the GPS points (locations.json) and a file with the information of the trip and all of the steps (trip.json). The uploaded media is stored in a folder per step.

\---data
    +---trip
    |   \---trip_12345678
    |       |   locations.json
    |       |   trip.json
    |       |
    |       +---destination-1_12345678
    |       |   +---photos
    |       |   |       photo1.jpg
    |       |   |
    |       |   \---videos
    |       |           video1.mp4
    |       |
    |       \---destination-2_87654321
    |           \---photos
    |                   photo3.jpg
    |
    \---user
            user.json

Data cleaning and exploration #

The location data contains only three fields: latitude, longitude and the timestamp. The first thing I noticed during the cleaning of the data: there are a lot of duplicates in the export. The original data contains 10.051 rows. After removing duplicate rows, there were 6.457 rows left. Since our trip lasted exactly 180 days, this averages out to ~36 pings per day.

If the chart is hard te read, please use the link to open the chart.

Interestingly, the number of pings per day fluctuated quite a lot, with a low of just 1 and a peak of 144. The day with the most pings was one of the longest travel days over land, while the day with the lowest number of pings was a relaxed day on a Philippine island (without cell service or wifi). Since Polarsteps states that the tracker mostly uses WiFi and cellular signals to determine the location, this makes sense.

Data analysis #

Calculating the distance to each previous point made it possible to analyze the number of kilometers traveled.

Of course, the long haul flights to and from Southeast Asia obscure the chart. Also, there are visible peaks which are most likely flights as well. Let’s check:

Date Transportation method Route Kilometers traveled
2024-04-17 Airplane Shanghai - Amsterdam 12204.8
2023-10-22 Airplane Amsterdam - Singapore 10747.9
2024-03-07 Airplane + Airplane Siargao - Bali 3440.8
2024-01-29 Airplane + Airplane Hanoi - Coron 1809.9
2023-10-23 Airplane Singapore - Bangkok 1462.0
2023-11-08 Airplane + Bus + Ferry Chiang Mai - Koh Samui 1283.4
2024-01-01 Airplane Singapore - Ho Chi Minh City 1260.0
2024-01-08 Night bus Đà Lạt - Hội An 602.9
2024-02-10 Airplane Puerto Princessa - Cebu City 602.5
2024-01-17 Night bus Tam Cốc - Ha Giang 383.6

After excluding the days with at least one flight, we get the following result.

Another interesting statistic is the average distance traveled per day in each country. Vietnam comes out on top, we had a pretty tight schedule there because we had a visa for 30 days, and wanted to see as much as possible. Also, night buses are quite common in Vietnam, which allowed us to travel a greater distance in a shorter amount of time.

The last insight I will share is the total distance traveled grouped by transportation method1. As expected, the largest group is the airplane, which represents 72% of the total kilometers traveled.

Transportation method Kilometers traveled
Airplane (12) 33302.0
Bus (14) 2386.0
Night bus (5) 1884.8
Ferry (18) 1797.5
Taxi (5) 362.6
Scooter (2) 254.4

In total, we covered a distance of 45,957 kilometers (that’s 1.15 times the circumference of the earth 🌏), which is mind-blowing to me!


  1. This table only includes days marked as a travel day and displays the total kilometers traveled that day. ↩︎